/**
 * 生成Progress percent: 0.1 -> 0.98
 *   - for ie
 */
export const genPercentAdd = () => {
    let k = 0.1;
    const i = 0.01;
    const end = 0.98;
    return function (s: any) {
        let start = s;
        if (start >= end) {
            return start;
        }

        start += k;
        k = k - i;
        if (k < 0.001) {
            k = 0.001;
        }
        return start;
    };
};

/**
 * @export 文件转换成对象 丰富file信息，主要是增加进度信息
 * @param {*} file
 * @returns
 */
export const fileToObject = (file: any) => {
    return Object.assign({}, file, {
        name: file.name,
        size: file.size,
        uid: file.uid,
        percent: 0,
        status: file.status
    });
};

/**
 * @export 获取列表中匹配的file
 * @param {IFileObject} file
 * @param {any[]} fileList
 * @returns
 */

// 导出一个名为getFileItem的函数，它接受两个参数：file和fileList
export const getFileItem = (file: any, fileList: any) => {
    // 根据file对象是否包含'uid'属性，决定matchKey的值。如果有'uid'属性，则matchKey为'uid'，否则为'name'
    const matchKey = file.uid !== undefined ? 'uid' : 'name';

    // 在fileList中过滤出与file对象具有相同matchKey属性的项。
    return fileList.filter(function (item: any) {
        return item[matchKey] === file[matchKey];
    })[0];
};
